#include <bits/stdc++.h>

using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    
    string main, sub;
    cin >> main >> sub;
    
    // 计算nextval数组
    vector<int> nextval(sub.size(), 0);
    int j = 0;
    for (int i = 1; i < sub.size(); i++) {
        while (j > 0 && sub[i] != sub[j]) {
            j = nextval[j - 1];
        }
        if (sub[i] == sub[j]) {
            j++;
        }
        nextval[i] = j;
    }

    // 进行KMP匹配
    int ans = -1;
    int i = 0, k = 0;
    while (k < main.size()) {
        if (main[k] == sub[i]) {
            k++;
            i++;
        } else if (i > 0) {
            i = nextval[i - 1];
        } else {
            k++;
        }
        if (i == sub.size()) {
            if(ans == -1)ans ++;
            ans++;
            //只找第一次出现的位置则按照如下代码
            //ans = k-i+1;
            //break;
            i = nextval[i - 1];  // 重置i为nextval[i-1]，继续查找下一个匹配
        }
    }
    cout << ans << endl;//如果找不到则返回-1.
    return 0;
}